# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default UNBEATABLE Arcade Template

game: UNBEATABLE Arcade
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    UNBEATABLE Arcade: 0.7.2 # Version of the world required for this yaml to work as expected.

UNBEATABLE Arcade:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  skill_rating:
    # Your vanilla in-game rating.
    # This is used to calculate your expected accuracy on each song for logic, and greatly impacts the difficulty and pacing of the randomizer.
    # 
    # Your vanilla rating can be found just above your player profile, and more details can be found on the player leaderboard page by pressing `3`.
    # It is recommended that you set at least 25 scores in the base game first so that you know your rating.
    # If you have not set 25 scores yet, these are some good general ranges depending on what song difficulty you can perform well on:
    # **beginner:** 2.500 - 3.500, **normal:** 3.500 - 4.500, **hard:** 4.500 - 5.500, **expert:** 5.500 - 7.000, **unbeatable:** 7.000 - 9.000, **star:** 9.000+
    # 
    # NOTE: This value will be divided by 1000. For example, if you want to set a skill rating of 5.830, set this to 5830
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 2500
    # Maximum value is 13000
    5000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-2500-13000: 0 # random value between 2500 and 13000

  accuracy_cap:
    # The maximum accuracy score percentage that may be required on any song.
    # This overrides the expected accuracy calculated from your skill rating for songs with expected accuracies above this cap.
    # Songs with expected accuracies below the cap will not be affected.
    # 
    # Setting the cap to 100 uses the default skill rating calculations.
    # 
    # It is suggested to keep this value high to avoid pacing issues.
    # 
    # Note: This only affects logical accuracy requirements for progression, not the requirements to successfully pass/complete the song.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 65
    # Maximum value is 100
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-65-100: 0 # random value between 65 and 100

  use_dlc:
    # Include DLC content from the selected items.
    # This requires that you own the selected DLCs and have them installed.
    # Valid Options:
    # Breakout Edition
    # The Jamie Paige Content Companion
    []

  max_difficulty:
    # Sets the highest difficulty to unlock.
    # Difficulties above this will be inaccessible during the randomizer.
    # You should set this to the highest difficulty where you can consistently pass all of the songs.
    beginner: 0
    normal: 0
    hard: 50
    expert: 0
    unbeatable: 0
    star: 0

  min_difficulty:
    # Sets the first unlocked difficulty. Lower difficulties than this will be inacessible.
    # Higher difficulties must be unlocked by finding multiple 'Progressive Song' items for each song.
    # The more difficulties there are between this and Maximum Difficulty, the longer the game will be.
    # For shorter/sync games, sticking to just one or two difficulties is usually ideal.
    beginner: 0
    normal: 0
    hard: 50
    expert: 0
    unbeatable: 0
    star: 0

  completion_percent:
    # Sets how close to the maximum rating you need to reach to complete the randomizer.
    # Lower values make logic more lenient but can lead to pacing issues.
    # 
    # If you want a shorter randomizer, consider increasing Minimum Difficulty first.
    # Raising this is a good option for asyncs or games with a low difficulty count.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 99
    90: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-99: 0 # random value between 1 and 99

  start_song_count:
    # Sets how many songs to start with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  start_char_count:
    # Sets how many characters to start with.
    # These are currently filler items, but some challenges will require certain characters later.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 11
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-11: 0 # random value between 1 and 11

  start_stage_count:
    # Sets how many stages (song backgrounds) to start with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 20
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-20: 0 # random value between 1 and 20

  song_blacklist:
    # A list of songs to *not* include in the randomizer.
    # Any valid song item names added here will not be randomized and will not appear in-game.
    # For example, add "bookend song" to avoid playing the 12-minute banger.
    []

  use_traps:
    # Adds trap items to the item pool, which cause negative effects for you when collected.
    # All traps are temporary effects which deactivate at the end of a song or after a some time has passed.
    # The duration of each trap can be adjusted client-side using the mod configuration.
    'false': 0
    'true': 50

  silence_amount:
    # The amount of Silence Traps to add to the pool, which mute the music.
    # This represents a percentage of items to add compared to the pool of beneficial items.
    # (i.e. if there are 200 songs/characters in the pool, and this is set to 5, 10 Silence Traps will be added)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  stealth_amount:
    # The amount of Stealth Traps to add to the pool, which activate a stealth effect on all notes.
    # This represents a percentage of items to add compared to the pool of beneficial items.
    # (i.e. if there are 200 songs/characters in the pool, and this is set to 5, 10 Stealth Traps will be added)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  rainbow_amount:
    # The amount of Rainbow Traps to add to the pool, which randomize the colors of all notes.
    # This represents a percentage of items to add compared to the pool of beneficial items.
    # (i.e. if there are 200 songs/characters in the pool, and this is set to 5, 10 Rainbow Traps will be added)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  zoom_amount:
    # The amount of Zoom Traps to add to the pool, which increase note movement speed.
    # This represents a percentage of items to add compared to the pool of beneficial items.
    # (i.e. if there are 200 songs/characters in the pool, and this is set to 5, 10 Zoom Traps will be added)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  crawl_amount:
    # The amount of Crawl Traps to add to the pool, which reduce note movement speed.
    # This represents a percentage of items to add compared to the pool of beneficial items.
    # (i.e. if there are 200 songs/characters in the pool, and this is set to 5, 10 Crawl Traps will be added)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
